Object-Relative Addressing: Compressed Pointers in 64-Bit Java Virtual Machines

نویسندگان

  • Kris Venstermans
  • Lieven Eeckhout
  • Koen De Bosschere
چکیده

64-bit address spaces come at the price of pointers requiring twice as much memory as 32-bit address spaces, resulting in increased memory usage. Increased memory usage is especially of concern on machines that are heavily loaded with memory-intensive applications; overall system performance can quickly deteriorate once physical memory is exhausted. This paper reduces the memory usage of 64-bit pointers in the context of Java virtual machines through pointer compression, called Object-Relative Addressing (ORA). The idea is to compress 64-bit raw pointers into 32-bit offsets relative to the referencing object’s virtual address. Unlike previous work on the subject using a constant base address for compressed pointers, ORA allows for applying pointer compression to Java programs that allocate more than 4GB of memory. Our experimental results using Jikes RVM and the SPECjbb and DaCapo benchmarks on an IBM POWER4 machine show that the overhead introduced by ORA is statistically insignificant on average compared to raw 64-bit pointer representation, while reducing the total memory usage by 10% on average and up to 14.5% for some applications.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

64-bit versus 32-bit Virtual Machines for Java

The Java language is popular because of its platform independence, making it useful in a lot of technologies ranging from embedded devices to high-performance systems. The platform-independent property of Java, which is visible at the Java bytecode level, is only made possible thanks to the availability of a Virtual Machine (VM), which needs to be designed specifically for each underlying hardw...

متن کامل

Virtual Memory Constraints in 32-bit Windows: an Update

This paper discusses the signs that indicate a machine is suffering from a virtual memory constraint in 32-bit Windows. Machines configured with 2 GB or more of RAM installed are particularly vulnerable to this condition. It also discusses options to keep this from happening, including (1) changing the way 32-bit virtual address spaces are partitioned into private and shared ranges, (2) setting...

متن کامل

A Space-Aware AMD64 Port of Jikes RVM

As computers attempt to work with larger and more complex datasets, the need for 64-bit computing is becoming more acute. Many applications, such as video editing and large scale databases, are reaching the limits of addressable memory in 32-bit computers. These new 64-bit architectures are dependent on compilers to produce equivalent or better code. Here we look at the issues in porting the Ji...

متن کامل

Using Virtual Addresses as Object References

Most object-oriented systems that support distributed or persistent data structures use software-interpreted object identi ers for inter-object referencing. These identi ers are often called pointer surrogates, because they are used as substitutes for virtual memory pointers. Surrogates are the traditional means of referencing objects that are viewed as existing \outside" of an application's vi...

متن کامل

Virtual Memory Constraints in 32-bit Windows

Many server workloads can exhaust the 32-bit virtual address space in the Windows server operating systems. Machines configured with 2 GB or more of RAM installed are particularly vulnerable to this condition. This paper discusses the signs that indicate a machine is suffering from a virtual memory constraint. It also discusses options to keep this from happening, including (1) changing the way...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007